Satellite-based positioning systems include constellations of earth-orbiting satellites that constantly transmit orbit information and ranging signals to receivers. An example of a satellite-based positioning system is the Global Positioning System (GPS), which includes a constellation of earth-orbiting satellites, also referred to as GPS satellites, satellite vehicles, or space vehicles. The GPS satellites circle the earth twice a day in a very precise orbit and transmit signal information to the earth. The satellite signal information is received by GPS receivers which can be in portable or mobile units, or in fixed positions on base stations and/or servers.
The GPS receiver uses the satellite signal information to calculate the receiver's precise location. Generally the GPS receiver compares the time GPS signals or satellite signals were transmitted by a satellite with the time of receipt of that signal at the receiver. This time difference between satellite signal reception and transmission provides the receiver with information as to the range of the receiver from the transmitting satellite. Using pseudorange measurements (pseudo because the range information is offset by an amount proportional to an offset between the GPS satellite clock and the receiver clock) from a number of additional satellites, the receiver can determine its position. The GPS receiver uses received signals from at least four satellites to calculate three-dimensional position (latitude, longitude, and altitude), or at least three satellites to calculate two-dimensional position (if altitude is known).
The GPS satellite signals travel by line of sight such that the signals will pass through clouds, glass and plastic but will not pass through most solid objects such as buildings and mountains. Generally, then, GPS receivers are usable everywhere except where it is impossible to receive an adequate satellite signal such as inside some buildings, in caves and other subterranean locations, and underwater. A GPS receiver, when determining position information, typically relies on information from the satellite signal, the absence of which makes position determination impossible. This satellite signal information includes a pseudo-random code along with ephemeris and almanac data to the receivers. The pseudorandom code is a code that identifies the satellite that is transmitting the corresponding signal and also helps the receiver to make ranging measurements. The almanac data tells the GPS receiver where each GPS satellite of the constellation should be at any time over a wide time interval that spans a few days or weeks. The ephemeris data does the same thing but much more accurately though over a much shorter time interval of a few hours.
The broadcast ephemeris data, which is continuously transmitted by each satellite, contains important information about the orbit of the satellite, and time of validity of this orbit information. In particular, the broadcast ephemeris data of a GPS satellite predicts the satellite's state over a future interval of approximately four hours. More particularly, the broadcast ephemeris data describe a Keplerian element ellipse with additional corrections that then allow the satellite's position to be calculated in an Earth-centered, Earth-fixed (ECEF) set of rectangular coordinates at any time during the period of validity of the broadcast ephemeris data. Typically, the broadcast ephemeris data in conjunction with pseudo-range measurements is essential for determining a position.
Because the broadcast ephemeris data is only valid for a four hour interval and is essential for position determination, a GPS receiver is required to collect new broadcast ephemeris data at such time as the receiver needs to compute the satellite state when the validity time for the previously-collected broadcast ephemeris data has expired. The new broadcast ephemeris data can be collected either as direct broadcast from a GPS satellite. Alternatively, satellite ephemeris may be received from a server as discussed in U.S. application Ser. No. 10/941,251, now U.S. Pat. No. 7,142,157, the contents of which are incorporated by reference. However, there are situations under which it is not possible to collect new broadcast ephemeris data from GPS satellites or from a server. As an example of situations in which new broadcast ephemeris data cannot be collected, a low signal strength of the satellite signals can prevent decoding/demodulating of the ephemeris data from the received satellite signal, the client can be out of coverage range of the server, and/or the server can be unavailable for a number of reasons, to name a few. When new broadcast ephemeris data is not available, the GPS receiver is typically unable to provide position information.
Furthermore, even when the GPS receiver is in a position from which it can receive the broadcast ephemeris information from a GPS satellite and/or server and properly decode the signal, the process of receiving and decoding adds substantially to the processing time. This additional processing time directly increases the time-to-first-fix (TTFF) while increasing the power usage of the receiver. Both an increase in the TTFF and the power usage can be unacceptable to a user depending on the use being made of the receiver and power capabilities of the receiver (for example, a GPS receiver hosted on a client device like a cellular telephone would have stricter power use constraints). As a result of the increased use of GPS in consumer devices, and the increased reliance on the information provided by such devices, it is desirable to reduce the number of situations in which the GPS receiver cannot provide position information and/or cannot provide position in a time and power efficient manner.
To address the need in the art for GPS receivers operable to determine satellite ephemeris without reception of current broadcast ephemeris, U.S. patent application Ser. No. 10/941,251 (the '251 application) discloses a server that receives or collects historical state data of satellites for a satellite-based positioning system and numerically integrates the historical state data to provide predictions of satellite trajectories based upon the historical state data. These predicted satellite states may also be denoted as satellite ephemeris.
It will be appreciated by those of ordinary skill in the arts that the term “ephemeris” is then being used in its strict sense. Although it is conventional in the GPS arts to refer to the transmission of Kepler parameters by the GPS satellites as “broadcast ephemeris,” Kepler parameters are not “true” satellite ephemeris but instead are parameters derived from satellite ephemeris. Because the reference to the conventional transmission of Kepler parameters from GPS satellites as “broadcast ephemeris” is a firmly-entrenched practice in the GPS arts, the results from a numerical integration of historical state data may be referred to as “predicted satellite states” to avoid confusion with parameters such as Kepler parameters that are merely derived from satellite ephemeris.
Having calculated the predicted satellite states, the server may transmit these states to client GPS-enabled devices. These client devices may then calculate current satellite ephemeris based upon the predicted satellite states. A time period spanned by the predicted satellite states depends upon the desired accuracy. For example, if +/−40 meter accuracy is acceptable, the predicted satellite states may correspond to every 15 minutes over a seven day period for all the satellites in the GPS constellation. To determine satellite states at a current time within this seven day period, the client device need then merely interpolate the relevant predicted satellite states about the current time. In this fashion, the client device needs relatively little processing power to determine current satellite states. However, considerable bandwidth and storage facilities must be dedicated to the transmission and storage of so many predicted satellite states.
Thus, the '251 application discloses alternative embodiments in which the server does not generate predicted satellite states but rather parameters derived from these predicted satellite states such as Kepler parameters. A client device receives the Kepler parameters from the server and may thus predict satellite trajectories using the Kepler parameters. In this fashion, bandwidth demands for the transmission between the server and the client devices are reduced.
Regardless of whether a client device receives predicted satellite states or parameters derived from these states, the client device will still require a server to generate and transmit the states/parameters. Such an infrastructure may be expensive to implement and maintain.
Accordingly, there is a need in the art for improved GPS devices that may determine position without the use of broadcast ephemeris or ephemeris received from other sources.